package modelisation;

import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

import parametrage.Parametrage;
import test.Test;
import apprentissage.Apprentissage;

public class EIT {

	public static void main(String[] args) {
		
		Modelisation m;
		Apprentissage a = new Apprentissage();
		Parametrage p = new Parametrage();
		Test t = new Test();
		
		double ratio = 0.0;
		
		try {
			FileOutputStream fluxOut = new FileOutputStream("report.txt", true);
			OutputStreamWriter writeFluxOut = new OutputStreamWriter(fluxOut); 
	    	BufferedWriter bw = new BufferedWriter(writeFluxOut);
	    	
			for(int i=1; i<=10; i++) {
				m = new Modelisation(i);
				
				a.apprend(i, m.getDico());
				
				p.parametre(i, a.getBeta1(), a.getBeta2());
				
				ratio += t.test(i, m.getDico(), p.getParam1(), p.getParam2());
				
				System.out.println("Le système a trouvé "+ratio/i*100+"% du spam pour le moment");
			}
			System.out.println("FINAL : Le système a trouvé "+ratio/10*100+"% du spam sur l'ensemble du corpus de test");
			bw.append("Conclusion : \nLe système a trouvé "+ratio/10*100+"% du spam sur l'ensemble du corpus de test\n");
			bw.flush();
			bw.close();			
	    } catch (IOException e) {
			e.printStackTrace();
		}
		
	}

}
